<?php
/**
 * Smart Library - Smart Framework
 * http://smart-framework.highet.eu
 *
 * @category   SmartL
 * @package    SmartL_DataBinder
 * @subpackage DataAdapter
 * @copyright  Copyright (c) 2005-2008 Smart Framework team - Stepan Sindelar, Vojtech Vit
 * @license    http://www.opensource.org/licenses/bsd-license.php	New BSD License
 */

/**
 * @package SmartL_DataBinder
 * @subpackage DataAdapter
 */
interface SmartL_DataBinder_DataAdapter_Interface {
	/**
	 * Sets object instance or variable to be handled with this adapter.
	 */
	public function setObject(&$object);
	/**
	 * Gets object instance or variable which is handled with this adapter.
	 */
	public function &getObject();
	
	/**
	 * Each adapter will use its own logic of name parameter. In basic it is string-name of property, but it may be array,
	 * where will be more informations about property that should be set.
	 * Trough this you may make possible to bind nesting properties, array properties and so. Eg. SmartL_DataBinder_DataAdapter_Object.
	 * @param string|array $name
	 */
	public function set($name, $value);
	public function get($name);
	
	public function postUpdate();
	public function preUpdate();
}
